operator precedence and associativity in c language